package com.gator.spring.framework.beans;

/**
 * @Author PABLO
 * @Date 2022/5/7 12:47
 * @Desc 对象包装类  创建对象成功后返回的装饰器
 */
public class PABLO_BeanWrapper {
    //被包装的bean实例
    private Object wrappedInstance;
    //被包装的实例类型
    private Class<?> wrappedClass;

    public PABLO_BeanWrapper(Object wrappedInstance){
        this.wrappedInstance = wrappedInstance;
        this.wrappedClass = wrappedInstance.getClass();
    }

    public Object getWrappedInstance(){
        return this.wrappedInstance;
    }

    // 返回代理以后的Class
    // 可能会是这个 $Proxy0
    public Class<?> getWrappedClass(){
        return this.wrappedClass;
    }


    @Override
    public String toString() {
        return "PABLO_BeanWrapper{" +
                "wrappedInstance=" + wrappedInstance +
                ", wrappedClass=" + wrappedClass +
                '}';
    }
}
